Path Profile

Description
The Profile tool creates a contour operation based on selected features of the model. The tool was introduced in version 0.19. It offers three operations that were handled by separate tools in previous versions.

All operations create objects that are made to be part of a.

These are the available operations:

Contour operation
A operation is the default. It creates a simple external contour cut of complex 3D Part-based objects. The entire Job Model serves as the input for the Operation, regardless of whether any Body Geometry is selected when the Contour command is invoked.

Profile Face operation
A operation creates a simple contour path from one ore more selected faces of an object.

Profile Edges operation
A operation creates a simple contour path from selected edges.



Usage

 * 1) There are several ways to invoke the command:
 * 2) * Press the button.
 * 3) * Select the option from the menu.
 * 4) Activate the Base Geometry section by clicking its tab, and select features from the Job model.
 * 5) * If no features are selected, the command defaults to a operation, contouring the entire model.
 * 6) * If faces are selected, then the result is a operation.
 * 7) * If edges are selected, then the result is a operation. NOTE: This operation has received improvements to allow functionality on some open-edge (non-loop) selections.  See the Usage Notes section below for additional information on best practice for profiling open-edges.
 * 8) Activate the Operation section by clicking on its tab, and adjust the operation's settings as desired.
 * 9) Optionally press the  button to preview the operation with the current settings.
 * 10) Click the  button or the  button to create or cancel the operation.

'''Important Note: Path Profile doesn't take care of other details of the object. You have to adjust the properties, especially the final depth, carefully, a mistake might destroy your work piece'''

A Start point can be enabled from the Operation tab in the Tasks Window editor, using a location defined in the.

Make additional adjustments to the operation by modifying the operation's properties in the Data tab of the Property View. Advanced properties will be located here, if any.

Usage Notes

 * The operation is capable of profiling open-edges (one or more continuous edges that do not form a loop as seen from the Top View)
 * It is best to select the top edges (highest edges) for the selection. After doing so, you will need to manually set the Final Depth for the operation. Selection of bottom edges only is unpredictable and will likely return undesirable paths in many situations; however, it will return correct paths in some situations.
 * Selected edges must form a continual edge as viewed from the Top View. Selected top edges may have differing heights, so long as they connect at a common (X, Y) coordinate - differing Z-heights are acceptable in some** cases.  **In certain cases, the user will need to include in their selection the straight vertical connecting edge between two adjacent edges of different heights that share a common (X, Y) coordinate.
 * Because top edges are selected, the Final Depth for the operation will need to be set manually.
 * When profiling open-edges, the `Side` or `Cut Side` property is disabled internally even though it will likely be visible within the Task editor window and the Properties list within the Data tab.
 * When profiling the entire model (a complete contour of the model) the `Side` or `Cut Side` property is hard coded to `Outside` even though it might be available for user input.

Properties
 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 Path Job model as needed.


 * : Overall placement[position and rotation] of the object - with respect to the origin (or origin of parent object container)
 * : Angle in degrees applied to rotation of the object around Axis property value
 * : Axis(one or multiple) around which to rotate the object, set in sub-properties: x, y, z
 * : x axis value
 * : y axis value
 * : z axis value
 * : Position of the object, set in sub-properties: x, y, z - with respect to the origin (or origin of parent object container)
 * : x distance value
 * : y distance value
 * : z distance value
 * : User-provided name of the object (UTF-8)


 * : The height needed to clear clamps and obstructions
 * : Final Depth of Tool- lowest value in Z
 * : Maximum material removed on final pass. The height (thickness) of the last cutting level - set for a better finish.
 * : The height above which Rapid motions are allowed. (Rapid safety height between locations)
 * : Starting depth of Tool - first cut depth in Z
 * : Incremental step down of Tool during operation




 * : make False, to prevent operation from generating code
 * : The base geometry for this operation
 * : An optional comment for this Operation
 * : The coolant mode for this operation.
 * : The cycle time estimation for this operation.
 * : Defines the Tool controller used in the Operation
 * : User assigned label


 * : The direction that the tool path should go around the part: Clockwise[CW] or Counterclockwise[CCW]
 * : Extend the profile clearing beyond the Extra Offset.
 * : Set the stepover percentage, based on the tool's diameter.
 * : Choose how to process multiple Base Geometry features.
 * : Extra value to stay away from final profile- good for roughing toolpath
 * : Check if you want this Profile Operation to also be applied to cylindrical holes, which normally get drilled.
 * : Check if this Profile Operation should also process holes in the base geometry. Note that this does not include cylindrical holes.
 * : Check if this Profile Operation should also process the outside perimeter of the base geometry shapes
 * : (Cut Side) Side of edge that tool should cut. This only matters if `Use Compensation` is True(checked).
 * : If checked, the Profile Operation is offset by the tool radius. The offset direction is determined by the Cut Side.


 * : Automatically attempt Inverse Angle if initial rotation is incorrect.
 * : Enable rotation to gain access to pockets or areas not normal to Z axis.
 * : Inverse the angle of the rotation.   Example: change a rotation from -22.5 to 22.5 degrees.
 * : Enforce the Z-depth of the selected face as the lowest value for final depth. Higher user values for final depth will be observed.
 * : Reverse orientation of Operation by 180 degrees.


 * : The custom start point for the path of this operation.
 * : x distance value
 * : y distance value
 * : z distance value
 * : Make True, if manually specifying a Start Point. Set the start point in the property data Start Point field.

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 Geometry

 * Add: Adds selected element(s) which should be the base(s) for the path(s)
 * Delete: Delete the selected item(s) in the Base Geometry list
 * Clear: Clear all items in the Base Geometry list

Operation
 **  Availability changes based on selections in Base Geometry section.

Scripting
FreeCAD Scripting Basics.

Example: