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.

Feature Operations

Each feature has an Operation property that tells the engine what role the feature plays. Five operations are supported:

OperationWhat it means
AddMaterial that is present. The first feature in the tree must always be Add — it defines the base solid of the part. Subsequent Add features grow the solid.
SubtractMaterial that is removed from the accumulated solid. Pockets, holes, and cutouts are subtract features.
RegionA 2D area filter for CAM operations — see Regions below. Not material, not a cut target.
ModelAn imported STL or OBJ mesh used as the surface for 3D Surface rough, finish, and cleanup operations. Renders in both sketch and 3D views.
LineAn open sketch profile (a path that doesn't close back on itself). Created automatically when you draw an open polyline or composite. Drives the Engrave operation.

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. The 3D Surface operations require a Model feature.

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.

Regions

A Region is a 2D sketch profile whose only purpose is to limit where a CAM operation is allowed to cut. Regions answer the question:

Where is this operation allowed to generate cutting moves?

They do not answer "what should this operation cut" — that's still the job of the operation's Add, Subtract, or Model targets. A region is a mask, not a target.

Behaviour

  • Regions are closed 2D profiles drawn in project XY space.
  • They contribute no material to the CSG model — they don't add stock, don't subtract pockets, don't appear as walls in the 3D view.
  • They have no Z depth of their own. They're flat masks projected through the full Z range of the operation they filter.
  • They have a distinct purple swatch in the sketch view legend so they're easy to distinguish from machining features.

Using Regions

To restrict a CAM operation to a region, add the region feature(s) to the operation's target list (alongside the operation's real machining features) using Use current selection in the operation's properties panel. The toolpath engine then:

  1. Generates the operation's normal toolpath from its real machining targets.
  2. Clips the resulting cutting area to the union of the selected regions.
  3. Keeps only cutting motion inside that union, inserting safe retracts when clipping splits a path into disconnected fragments.

If no regions are selected, the operation behaves as if regions didn't exist — it cuts the full extent of its machining targets.

When multiple regions are assigned to one operation, they combine as an allowed-area union — cutting is allowed inside any selected region.

When to Reach for a Region

  • Local rough/finish: machine only one corner of a large STL surface without re-cutting the whole top.
  • Excluded zones: draw a region around the area you care about so a pocket or edge route doesn't venture into adjacent material.
  • Rest machining workflows: the rest-region feature generated by an edge route is itself a Region — see Rest Machining.
Tip: Regions are order-independent — moving them around in the feature tree doesn't change the result. You can drag them into a folder labelled "Masks" to keep them visually separate from machining features.

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.