Available · version 1.7

Selectable Pocket Regions

Select, create, and verify Cadivari sketch-region pocket operations, including annular recesses and protected islands.

Updated August 20268 min readCAM & machines
Pockets from a solid model

Cadivari 0.3.0 also supports selecting a recessed floor in CAM → 3D Model → Pocket. Depth, walls and islands follow the solid. See Model pockets for setup, regeneration and the current limits. The sketch-region workflow below remains available in 2D.

Recommended test

  1. Draw two concentric circles inside the configured stock: an outer diameter of about 110 mm and an inner diameter of about 60 mm.
  2. Switch to CAM → Operations and choose Add pocket. Move between the circles; only the ring should highlight. Move inside the smaller circle; the centre disk should highlight instead.
  3. Click the highlighted ring and create the pocket. The Pocket shortcut is K.
  4. Confirm the defaults: Cut 3.000 mm, Step 1.500 mm, Stepover 40%, Outside-in, and a 3° path ramp.
  5. In 2D, confirm both circular boundaries, the annular clearing bands, cutter-centre paths, and Safe-Z rapid are visible. No path or cutter band may enter the centre island.
  6. Draw a rectangle containing one circle, select the area between them, and create the pocket. Confirm horizontal clearing lanes stop at the protected circle and the final island pass is circular.
  7. Repeat with a circle containing one rectangle. Confirm the lanes clip around the rounded cutter-safe rectangle and the final finish path follows all four sides and corners.
  8. For a concentric annular pocket, switch Outside-in to Inside-out and confirm the ring reverses without crossing the island. Then move the inner circle slightly off centre: the region must remain valid, preserve both true circle centres, and change to Outside-in clipped clearing lanes.
  9. Draw and close a concave outline made from several lines. Repeat with a closed combination containing an arc and a spline. Hover inside each outline, create the highlighted pocket, and confirm the operation is labelled Closed path.
  10. Confirm the arbitrary-path pocket uses one cutter-safe perimeter plus clipped horizontal lanes. Narrow or collapsed features must show an error instead of producing a crossing toolpath.
  11. Create a Union from two overlapping rectangles. Choose Add pocket, click its filled face, and confirm the complete combined area highlights and creates one associative Boolean region pocket.
  12. Create a Subtract from a rectangle and an inner circle. Select the remaining face and confirm the circular subtraction remains a protected island through 2D, 3D, animation, and G-code. Editing either Boolean source must rebuild the pocket; changing its loop topology must require re-selection.
  13. Draw four separate circles. Choose Add pocket, click inside every circle without holding a modifier key, and confirm the selected faces remain highlighted and numbered. Click one again to remove it, then add it again.
  14. Create the four-region pocket. Confirm one operation card reports four regions, each circle is completed through every depth before a Safe-Z transfer to the next, and animation plus exported G-code follow the stored numbered order.
  15. Open 3D and animate each pocket, then the Complete job. Confirm depth passes and links agree with the 2D plan.
  16. Inspect the G-code for exact G2/G3 circular clearing loops after the path ramp.
  17. Enable Wall finishing, set Allowance to 0.500 mm and Finish feed to 650 mm/min. Confirm green rough paths move 0.500 mm away from every wall, while one gold path remains at each nominal wall.
  18. Animate the operation. Wall finishing must occur only after all roughing depth passes, at final Z, and the readout must change to Finish. The reviewed G-code must label the roughing allowance and wall-finish phase.
  19. Place the pockets before an outside cutout in Job sequence. Moving a pocket after the final cutout must block complete-job export.

01 · SKETCH REGIONS

Click the areas rather than a list of boundaries

With Pocket active, Cadivari derives the closed region below the pointer. Click to add it; click the same highlighted face again to remove it. Selected faces remain visible and numbered, so several separate holes or recesses can be created as one operation without Shift or Ctrl. The numbers use a deterministic nearest-neighbour order from job zero.

The highlight uses the outer loop and every immediate inner loop, so the selected material-removal area is visible before any operation is created. Clicking between two nested circles selects the ring; clicking inside the smaller circle selects its disk. A connected, unambiguous closed chain of lines, arcs, and splines is detected as one boundary. A live Boolean result behaves the same way: its filled outer face is selectable, while Subtract holes become protected islands.

The operation stores every entity ID and the order of every selected region. Boolean loops also store their exact path index and expected boundary count. Editing a referenced source rebuilds its region and toolpath; a missing segment, open gap, branch, crossing, changed containment, duplicate, shared boundary, or changed Boolean topology blocks machining rather than silently changing the cut. Multi-region and Boolean references survive project save and open.

CutDepth below stock-top Z0
StepMaximum depth per pass
Stepover5–90% of cutter diameter
OrderOutside-in or Inside-out clearing

A partial-depth result is normal for a pocket and does not produce the contour tool's “not a through-cut” caution.

02 · CUTTER-SAFE REGION

Every boundary is compensated

For a concentric annular pocket, the outer cutter-centre limit is one cutter radius inside the outer circle and the inner limit is one cutter radius outside the island. If those centres differ, Cadivari keeps both actual circles and changes to clipped horizontal lanes between an exact compensated outer circle and exact compensated island circle. Rectangle–circle and circle–rectangle regions use the same conservative lane principle.

For an arbitrary closed or Boolean path, arcs and splines are sampled to bounded points and a dedicated polygon geometry kernel creates the cutter-radius inset. Every island is expanded by the cutter radius before horizontal clearing lanes are clipped against it. The compensated outer and island perimeters are retained as explicit wall paths. Cadivari retracts to Safe Z before moving to each independent lane. An inset that collapses, self-crosses, splits, or leaves a passage narrower than the cutter is blocked.

Concentric annulusExact nested circular loops support Outside-in or Inside-out
Offset-circle annulusOutside-in lanes are clipped around the true offset circular island
General/Boolean regionRobust inset plus Outside-in lanes clipped around every protected island
Safe transfersSafe-Z motion prevents links from crossing uncut or protected material

03 · WALL FINISHING

Rough first and finish the walls once

Turn Wall finishing on to separate stock removal from dimensional wall finishing. Wall allowance is radial material retained during every roughing depth pass. After roughing is complete, Cadivari descends onto an already-cleared rough path at final depth, crosses the remaining strip at the selected Finish feed, and follows the nominal outer wall and each supported island wall once.

0.500 mm allowanceRough cutter centre stays 0.500 mm farther from every wall
0.000 mm allowanceAdds a same-size spring pass without retained stock
Green pathsDepth-by-depth roughing and clearing
Gold pathsFinal-depth wall finishing
Wall finish only

This iteration does not add a separate floor-finishing pass. Finish feed controls the wall passes; normal pocket feed still controls roughing.

04 · ONE VERIFIED PIPELINE

The selected regions stay consistent throughout

The same stored regions, region order, rough paths, finish paths, depth passes, and Safe-Z transfers drive 2D inspection, separate 3D volumes, material animation, G-code review, preflight, individual export, project save/open, and complete-job output. Each region is completed through all depth passes and optional wall finishing before the cutter retracts and travels to the next region. Circular walls remain exact G2/G3 records. General line/arc/spline pockets use the verified sampled polygon as bounded G1 motion.

One operation means one parameter set

Use one multi-region operation only when all selected regions share the cutter, depth, stepdown, stepover, feed, entry, and finishing settings. Create separate pocket operations when any machining parameter differs.

Pockets are inside machining

Complete-job validation requires pockets before the final outside cutout so the stock remains supported while the pocket is cleared.

CURRENT SCOPE

Associative regions with multiple islands

  • One operation can contain several separate, non-overlapping regions with one shared machining setup
  • Rectangles, circles, arbitrary closed line/arc/spline combinations, and live Union/Subtract results are supported
  • General and Boolean regions can preserve multiple arbitrary inner islands
  • General closed paths and island regions use sampled G1 output and Outside-in clearing only
  • Boolean source edits rebuild the pocket; a changed boundary count blocks output until the face is selected again
  • Wall allowance and final-depth outer and island wall finishing are supported; floor finishing is intentionally deferred
  • No manual region reorder, rest machining, adaptive clearing, tabs, spoilboard overcut, or clamp collision model
  • A through bore normally uses an Inside Contour; shallow island pockets suit gasket seats, decorative rings, general recesses, or specialist rosette channels

Verify every numbered region, cutter diameter, roughing allowance, finish feed, cutter engagement, chip evacuation, stepover, depth, Safe-Z clearance, and workholding for the real material and machine.