Generalize the `extractFaceOffset` method to `getOffsetArea`, which can
handle both face offsetting and projection. Another difference is that
the new method exposes Area's ability to preserve internal holes,
defaulting to preserving. The method is moved to the PathUtils module,
reflecting its generality and fairly wide used across Path.
This method is then used to provide a drop-in alternative to
`FindUnifiedRegions` via a small wrapper in PathSurfaceSupport. The Area
implementation is generally quick, but can fail (throw) in some cases,
so the wrapper is trying the Area method as an optimization first, and
falls back to the full `FindUnifiedRegions` logic if that fails.
Two new properties, `ExpandProfile` (length) and `ExpandProfileStepOver` (percent) added for new feature.
New feature converts the normal single offset profile into a compound profile containing multiple increasing/decreasing offsets.
The new feature clears a each layer completely before stepping down to the next layer.
Adjust sorting procedure in PathAreaOp due to `ExpandProfile` modifications to open edges code.
The 0.25 constant used might need to be modified later. Or, the entire `_makeIntersectionTags()` method might need to be improved if other micro-edge use cases cause failure.
Open-edges will now work in simple cases where user selects bottom edge, without requiring adjustment to Final Depth. This will speed up procedural usage of the operation for open edges by re-enabling the `select-edge_create_OK` work flow.
The guessing procedure for Final Depth based on Base Geometry selected is fixed in `UpdateDepths()` method.
Improvements to user messages.
Remove unnecessary code and comments.
Improve debugging feedback.
Sheet tag placement not including the sheet offset
contour not using sheet attributes
Engraving not using sheet attributes
Profile not using transform.
old spinboxes were not aware of units so I substituted in the custom FreeCAD Gui:InputField on countour, profile, profile edges, and pocket operations.
fixes reparenting bug when dressup is deleted
Engrave wasn't using final depth value
Dragknife Dressup not correctly calculating spin direction or curve intersection
Per Yorik, fix crash if PartGui hasn't been loaded
Allow selection of bottom face for profiling
Bug # 0002615
comment diameter instead of radius for compensated profile/surface ops
opensbp improved pre processor is more explicit with XY values
cmake copies opensbp postprocessor.
Removed unnecessary file.
With the new property "PlungeAngle", one can specify the inclination of
a ramp into the material, instead of plunging straight down. The
original behaviour and default is set to 90.0 degrees. A value of zero
makes the tool descent exactly one layer depth down per turn.