Path: Lavorazione per piani orizzontali

From FreeCAD Documentation
This page is a translated version of the page CAM Waterline and the translation is 0% complete.
Outdated translations are marked like this.
This is an unfinished experimental feature. Enable Experimental Features

This documentation is not finished. Please help and contribute documentation.

GuiCommand model explains how commands should be documented. Browse Category:UnfinishedDocu to see more incomplete pages like this one. See Category:Command Reference for all commands.

See WikiPages to learn about editing the wiki pages, and go to Help FreeCAD to learn about other ways in which you can contribute.

Piani orizzontali

Posizione nel menu
Path → Piani orizzontali
Avvio veloce
Introdotto nella versione
Vedere anche


The tool Waterline creates a new Waterline operation. As of 0.19_pre, the operation works on the entire model to generate G-code for the Job. Currently, within the operation's settings there is no functionality to select specific areas, faces, or regions of the model.

The Waterline operation has two algorithms: OCL Drop Cutter and Experimental.

  • The OCL Drop Cutter algorithm interfaces to OCL.pyd, a 3rd party Open Source module titled OpenCamLib, that generates tool paths from a 3D Model. OpenCamLib is not integrated directly into FreeCAD.
  • The Experimental algorithm makes use of the built-in Path.Area() class.

Note : In order to use the Waterline operation you must:

  1. Properly install OpenCamLib.
  2. Enable Experimental Features for the CAM Workbench.
  3. Check Edit → Preferences... → CAM → Advanced → Enable OCL dependent features.


Usage instructions for multiple variations of the Waterline operation are presented here.

Basic Operation

  1. Press the Waterline icon, or select the Waterline tool from the CAM menu.
  2. Select the tool controller for the Operation from the Tool controller dialogue pop up window.
  3. Adjust the operation depths as needed in the Depths tab: Start Depth, Final Depth, Step Down.
  4. Make adjustments in Heights tab if needed.
  5. Configure settings in the Operations tab based on the Algorithm selected:
    1. OCL Dropcutter
      1. Choose the BoundBox: Stock or BaseBoundBox.
      2. Set the Layer Mode: Single-pass or Multi-pass.
      3. Set the Sample Interval used for the OCL scan.
    2. Experimental
      1. Choose the BoundBox: Stock or BaseBoundBox.
      2. Set the Layer Mode: Single-pass or Multi-pass.
      3. Set the Cut Pattern if clearing is desired at each layer.
      4. Set the Boundary Adjustment (material allowance).
  6. If you wish to preview the result before accepting the settings, click Apply
  7. Click OK button to confirm and generate paths.

To achieve different, or more complex, effects, adjust additional operation properties within the Data tab of the Properties View for the operation.

Notes About Experimental Algorithm
  • It does not handle overhangs correctly.
  • It only returns paths for an End Mill type cutter (tool bit).
  • It might not correctly catch all interior features.
  • It is just that, experimental, and not ready for mainstream integration. Please inspect paths with the built-in CAM Simulator, or other 3rd-party G-code inspection tools, before cutting with your machine.

Available Tool (Cutter) Shapes

When using the OCL Dropcutter algorithm, the Waterline operation uses OpenCamLib [OCL|OCL] to extract paths from the part base. As such, a tool translation is required between the FreeCAD tool controller and OCL in order to complete the scan with your chosen tool(cutter) shape. These tool shapes are(should be) respected and available for the OCL Dropcutter so long as the built-in tool shapes are used, whether Legacy or ToolBit tools:

  • End mill
  • Ball end mill
  • Bull nose end mill
  • Chamfer bit
  • Engraver

Additional Notes

  • Should you choose to run the path simulator, CAM Simulator, in the CAM Workbench, you might not see tool-shape-specific material removal. Be cautious. A small trial job using foam or other very non-dense material is recommended to verify paths are correct with your selected tool controller.
  • As of May 2020, only the End Mill has any type of testing to determine accuracy of the FreeCAD-to-OCL tool settings translation. Please post any feedback for non-end-mill usage to the Path/CAM section in the FreeCAD forums.


Note : Not all of these Properties are available in the Task Window Editor. Some are only accessible in the Data tab of the Properties View panel for this Operation.


Note: It is suggested that you do not edit the Placement property of path operations. Rather, move or rotate the CAM Job model as needed.

  • DatiPlacement: Overall placement[position and rotation] of the object - with respect to the origin (or origin of parent object container)
    • DatiAngle: Angle in degrees applied to rotation of the object around Axis property value
    • DatiAxis: Axis (one or multiple) around which to rotate the object, set in sub-properties: X, Y, Z
      • DatiX: X axis value
      • DatiY: Y axis value
      • DatiZ: Z axis value
    • DatiPosition: Position of the object, set in sub-properties: X, Y, Z - with respect to the origin (or origin of parent object container)
      • DatiX: X distance value
      • DatiY: Y distance value
      • DatiZ: Z distance value
  • DatiLabel: User-provided name of the object (UTF-8)

Clearing Options

  • DatiAlgorithm: The library to use to generate the path
  • DatiBoundBox: Should the operation be limited by the stock object or by the bounding box of the base object
  • DatiClear Last Layer: Set to clear last layer in `Multi-pass` operation.
  • DatiCut Mode: The direction that the toolpath should go around the part: Climb (ClockWise) or Conventional (CounterClockWise)
  • DatiCut Pattern: Clearing pattern to use
  • DatiDepth Offset:
  • DatiIgnore Outer Above:
  • DatiLayer Mode: The completion mode for the operation: single or multi-pass
  • DatiStep Over:


  • DatiClearance Height: The height needed to clear clamps and obstructions
  • DatiFinal Depth: Final Depth of Tool- lowest value in Z
  • DatiSafe Height: The above which Rapid motions are allowed.
  • DatiStart Depth: Starting Depth of Tool- first cut depth in Z
  • DatiStep Down: Incremental Step Down of Tool


  • DatiActive: Make False, to prevent operation from generating code
  • DatiBase: The base geometry for this operation
  • DatiComment: An optional comment for this Operation
  • DatiCoolant Mode:
  • DatiCycle Time:
  • DatiTool Controller: Defines the Tool controller used in the Operation
  • DatiUser Label: User assigned label

Start Point

  • DatiStart Point: The custom start point for the path of this operation.
    • DatiX: X distance value
    • DatiY: Y distance value
    • DatiZ: Z distance value
  • DatiUse Start Point: Make True, if specifying a Start Point

Tasks Window Editor Layout

Descriptions for the settings are provided in the Properties list above.

This section is simply a layout map of the settings in the window editor for the Operation.

Base Location

  • Add: Adds selected element(s) which should be the base(s) for the path(s).
  • Remove: Remove the selected item(s) in the Base Location list.
  • Edit: Clear all items in the Base Location list.


  • DatiStart Depth
  • DatiFinal Depth
  • DatiStep Down


  • DatiSafe Height
  • DatiClearance Height


  • DatiTool Controller
  • DatiCoolant Mode
  • DatiAlgorithm
  • DatiBoundBox
  • DatiLayer Mode
  • DatiCut Pattern~
  • DatiBoundary Adjustment~
  • DatiSample Interval~

~Visibility changes with other settings.