The PR is submitted. https://github.com/FreeCAD/FreeCAD/pull/1542
Repeating myself from yesterday, but here are the changes:
-The drop cutter operation respects FinalDepth parameter, i.e. never cuts below that. When the operation is created, the OpFinalDepth is guessed and I find that the guess is wrong most often, so probably you have to set the FinalDepth manually. I did not try to find out how the final depth is guessed.. sliptonic or mlampert: do you have nice way to set the default finish depth to be the minimum Z value of the body?
-Possibility to choose the bounding box of the drop cutter operation. (is there a better name to call it?) It can be either the stock of the Job or the bounding box of the object. Additionally, offset in X and Y direction can be added to that by parameter DropCutterExtraOffset. If that is set to 0, the first cut is made so that the path is exactly at the bounding box. If you want to limit it so that the tool does not go outside of the bound, set the offset to be -(tool diameter)/2
- Possibility to add Z axis offset. Mainly to make roughing somewhat possible. So if you set DepthOffset to say 2mm, the shape will be cut 2mm above the actual surface. The thing to notice is that if the model has vertical walls, this does not add any finishing clearance on the wall.
-Support for ball end mills. Just set the tool type in the tool controller to be 'BallEndMill' to enable this.
-Configurable step over percentage (1-100%), I set the default to be 50%
-Configurable direction of drop cutter algorithm. The lines can be cut X or Y direction. Previously this was hard coded to Y.
As always, the testing has been very limited, just two models so bugs are expected to be found. I noticed that the speed of the OCL algorithm has strange variance. That 500mm long airfoil shape I showed previously gets calculated in a few seconds, but a simple 50mm diameter sphere takes minutes..