FaceMakerCheese: based on code extracted from Part FeatureExtrude,
exactly the same as facemaking code in PartDesign.
FaceMakerBullseye: new facemaker, that supports nesting like hole inside
a face inside a hole of another face...
Fixes#2699
It was found out that when direction of normal found by FindPlane
depends on if we are using result of offset directly, or after copying.
The fix (workaround) is to copy offset result inside offset routine, so
that no unstable behavior makes its way to the user.
Supports:
* offsetting wire, compound of wires.
* offsetting compounds in collective or independent manners
('intersection' parameter)
* two offset modes (parameter 'allowOpenResult')
* filling offset when offsetting one wire, or compound in independent
manner
Not supported yet (planned):
* filling offset when offset in collective manner (intersection= true)
* offsetting planar faces
* split Dir into Dir+Length; added second Length
* support for parametric linked direction: to arbitrary edge, and to
normal
* options: reverse, symmetric
* second taper angle
* changed offset join mode for tapered extrusion on OCCT7
I didn't know BRepAdaptor_Curve does not take shape orientation
(reverseness) into account.
The commit can break existing projects. If revolution feature was
created with axis linked to reversed edge, and angle span is not 360,
the revolution direction will now swap. The chances of this situation
are pretty low, and revolution supports axis linkage for not long yet.
So I hope it won't cause any noticeable trouble.
--DeepSOIC
Changes on the App side only.
Added two properties:
* AxisLink (accepts an edge - line or arc of circle)
* Symmetric (for distributing the revolution symmetrically in both
directions)
Part.Solid(shape) now accepts compsolid as input, and creates a solid by
joining the compsolid.
Same done to Part.makeSolid().
+ change exception handling to expose the error message.