Path Incisione a V

From FreeCAD Documentation
This page is a translated version of the page CAM Vcarve and the translation is 0% complete.
Outdated translations are marked like this.

CAM Vcarve

Menu location
CAM → Vcarve
Default shortcut
Introduced in version
See also


The Vcarve tool is primarily for center-line engraving a Draft ShapeString onto a part. However, it may be useful for other kinds of 2D.

Unlike engraving which follows the lines in the shapestring, V-carving uses a V-shaped cutter and attempts to clear the area by moving the cutter down the center of the region and varying the depth of cut. Since a v-cutter radius varies with the depth, the width of cut varies as well. The result is a more natural looking cut, particularly for serif fonts.

Example Vcarving Path

The V-carve algorithm calculates a path down the center-line of a region using a Voronoi diagram. This center-line is the path the tool will follow in the XY plane. It next calculates a 'maximum inscribed circle' along the path. This is the largest circle that can be drawn at that point and remain entirely inside the clearing area. Using the circle radius and the tip angle of the cutter, the depth of cut is calculated.


Prepare the shapes to engrave

  • Draft ShapeStrings are usable out of the box
  • SVG files require some massaging, both in the editor and in the Draft Workbench:
    • In the editor (e.g. Inkscape): make sure the file only contains paths and that the paths are ungrouped; make sure there are no self-intersecting paths, (in Inkscape) use Path → Simplify and union to join paths that overlap.
    • Switch to the Draft Workbench in workbench dropdown list
    • Import the SVG using File → Import → select "SVG as geometry"
    • The result should look similar to this:

      Above: Results of importing 'SVG as geometry'

Paths with holes (letters, the vine in the image above) are imported as 2 separate paths (named along the lines of Path905 and Path905001 in the Tree view), one of them is the hole and the other one is the outline; we'll deal with this in the next step
    • In order to get the 2D faces, CAM Vcarve needs:
      • For paths without holes:
        1. Select the path
        2. Choose Modification → Upgrade
        3. Followed by Modification → Downgrade
      • For paths with holes:
        1. Select the outer path, then the inner path
        2. Choose Modification → Downgrade twice
      Some paths will behave differently, so you may need to play with Upgrade and Downgrade until you get something named: Face<number>
      The end result should look like this:

Create the Vcarve operation

  • Switch to the CAM Workbench in the workbench dropdown menu
  • Add a job, use the objects named Face<number> (or the ShapeString) as a base, add a v-bit tool controller, set feeds, speeds, etc.
  • The operation only supports one object (either a single Face object, or a ShapeString) so for each object:
    • Select CAM → Vcarve from the top menu. This opens the configuration panel.
    • Open the Base Geometry tab and add all faces of the ShapeString, or the face of a single Face object obtained above
    • Press Apply and inspect the generated path; if necessary, adjust operation parameters (Threshold can be set higher in most situations)
    • Press OK to finish






  • DatiPlacement: -
  • DatiLabel: -


  • DatiClearanceHeight: -
  • DatiFinalDepth: -
  • DatiSafeHeight: -
  • DatiStartDepth: -
  • DatiStepDown: -

Op Values

  • DatiOpFinalDepth: -
  • DatiOpStartDepth: -
  • DatiOpStockZMax: -
  • DatiOpStockZMin: -
  • DatiOpToolDiameter: -


  • DatiActive: -
  • DatiComment: -
  • DatiCoolantMode: -
  • DatiStartVertex: -
  • DatiToolController: -
  • DatiUserLabel: -


  • DatiBase: -
  • DatiBaseObject: -
  • DatiBaseShapes: -
  • DatiExpressionEngine: -
  • DatiLabel2: -
  • DatiPath: -
  • DatiProxy: -
  • DatiVisibility: -




See also: FreeCAD Scripting Basics.


#Place code example here.