isMultiTransformChild() tried to do a better job by checking
for a parent MultiTransform in the dependency list, but this
is unusable during initialization, when these dependencies are
not established.
The method is changed back to the previous one which only checks for
default property values. This will give false results during
initialization but not cause problems.
Because the Origins property is empty in "Transform Body" mode, the
features are detected as not solid.
This messes with the feature order on insertions and moves.
This is fixed by calling the isMultitransformChild() method of the
Transformed features instead of checking the Origins property in the
Body code.
This adds "SingleSolidRuleMode" enum that controls if PartDesign will
enforce singular solid. By default the single-solid is enforced so
nothing changes for the user, it must be explicitly disabled by setting
new Allow Compound boolean property on a given body.
Default for this value is controled using user parameter under
Mod/PartDesign/AllowCompoundDefault
This refactors a single solid rule checking code from using the solid
count directly to using well abstracted `isSingleSolidRuleSatisfied`
method. This makes code easier to read and is the basis for next step
which is allowing users to disable this checks.
* Toponaming: bring in missing code fragments in Sketcher
* Toponaming: Fix infinite recursion, remove debug cruft, rough in fillet test
* Bring in missing code; fix chamfers
* Toponaming: Add code for fillets and test
If you have a mirror feature and set the mirror plane with the normal feature editing the recompute works. But if the mirror plane is set with the property editor then the recompute fails with the message that no mirror plane reference is set.
This is related to a an empty sub-name list of the link property instead of a single and empty sub-name element.
This PR allows to specify a sketch, plane or datum plane without a sub-name.
For more details see: https://forum.freecad.org/viewtopic.php?t=86568
This fixes#13238
* [PartDesign] Still a helix fix
If we don't break the helix path at each turns we get a vaild path for
MakePipe (solid) even with an angle.
* Decrease helix tests requirements