Recommended test
- Import an SVG containing a compound fill, or trace dark or light artwork from a PNG/JPEG. Include a letter such as O, A, or B to test an internal counter.
- Add it to CAD, select the grouped artwork, and choose Prepare V-carve. Mixed artwork shows Prepare V-carve + strokes.
- Confirm the solid area is highlighted while counters remain empty.
- Select a V-bit and set maximum depth and width. If explicit strokes are present, keep SVG strokes: Include on and set their physical groove width.
- Confirm narrow details progress from shallow to deeper cuts, sharp corners remain defined, and counters remain untouched.
- Open 3D Material mode and animation, then inspect the generated Shapeoko/GRBL G-code and export preflight.
- Move, scale, or rotate the artwork in CAD and confirm the linked operation rebuilds associatively.
- Try an open or self-crossing filled path and confirm preparation is blocked with a specific explanation.
01 · SOURCE-AWARE TOPOLOGY
Preserve the meaning of filled and stroked artwork
SVG import retains each element's fill group and its nonzero or evenodd rule. Raster tracing produces one grouped evenodd compound fill, so white counters inside selected dark artwork remain protected holes. Preparation applies the grouped artwork's current position, scale, and rotation, then resolves outer boundaries, nested counters, and separate filled components.
Explicit SVG strokes remain centrelines rather than being discarded or mistaken for filled boundaries. In mixed SVG mode, filled regions use variable-depth medial V-carving while each included stroke uses a constant-width V-groove derived from the same V-bit. Raster traces contain filled boundaries only; they do not invent centreline strokes from pixels.
RegionOne solid filled areaCounterA preserved hole inside a regionStrokeOne explicit SVG V-groove centrelineRuleNonzero or even-odd winding02 · EXPLICIT LIMITS
Width determines depth
The selected V-bit's included angle and tip diameter determine the physical cut width at each Z level. Cadivari follows the resolved medial paths through the local centre of the artwork, tapers sharp corners toward the boundary, and stops at the selected maximum width or depth. It does not continue clearing a broad flat floor inefficiently with the V-bit.
Starting SVG engraving preparation includes the pending artwork in automatic stock fitting before the operation exists. This preserves the normal 30 mm stock margin even when imported artwork begins exactly at X0/Y0. A remaining stock, depth, tool, or cutting-parameter problem is reported directly instead of being presented as an SVG topology failure.
The same resolved variable-depth paths drive 2D preview, 3D toolpaths, conical material removal, animation, time estimation, G-code, export preflight, and saved projects. Material playback allocates an adaptive 0.08 mm target grid only in tiles reached by the V-bit. Each changed tile is updated from the actual swept conical cutter while untouched stock remains a simple block, so close inspection no longer inherits a multi-millimetre whole-stock grid.
Open boundaries, zero-area paths, self-intersections, crossing boundaries, and overlapping independent fill groups remain blocked. Counters are treated as protected holes rather than cutter paths.
CURRENT SCOPE
Medial V-carving with optional stroke grooves
- Compound SVG fills with holes and disconnected regions
- Mixed Illustrator-style artwork containing both filled lettering and true stroked ornaments or borders
- Boundary-derived medial paths through the local centre of filled features
- Optional explicit strokes cut as constant-width V-grooves, with editable physical groove width and validation against the selected V-bit, maximum depth, and cut-width limit
- One continuous variable-Z pass per medial path, derived from local feature width, exact V-bit angle, tip diameter, and maximum diameter
- Sharp corners taper toward the source boundary while counters remain protected
- Broad areas beyond the selected V-bit width remain for a later flat-end-mill clearing operation
- Linked 2D/3D preview, material removal, animation, G-code, export, and project Save/Open
- Each disconnected medial path or stroke currently uses a straight vertical plunge
- Overlapping separate fill elements must first be combined into an unambiguous compound path in the source artwork