Commit Graph

951 Commits

Author SHA1 Message Date
André Althaus
5dca1d3e04 Change MultiTransform child detection to the previous method
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.
2024-05-23 12:23:32 +02:00
André Althaus
0b5e993b90 Fix solid feature detection for "Transform Body" mode
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.
2024-05-23 12:23:32 +02:00
André Althaus
648faf5d36 Fix ambiguous setValue() call 2024-05-23 12:23:32 +02:00
André Althaus
b4b41a9428 Remove unused function 2024-05-23 12:23:32 +02:00
André Althaus
a93e94dabb Modernize code 2024-05-23 12:23:32 +02:00
André Althaus
067c774292 Format code with clang-format 2024-05-23 12:23:28 +02:00
André Althaus
45bb606095 Add a TransformMode property to the pattern features
This property controls wether the selected features tool shapes are
transformed or the whole base feature's shape.
2024-05-23 12:22:26 +02:00
André Althaus
4d9b89e265 Add function to check if a Transformed feature is a sub-feature of MultiTransform
This will check the in-list instead of relying on an empty Originals property.
2024-05-23 12:22:26 +02:00
bgbsww
12619b2c2d TopoNaming: restore defenses against multisolids when enabled 2024-05-21 21:42:05 -04:00
bgbsww
febe5c3d9e Toponaming: fix shapebinder selection error 2024-05-21 21:41:26 -04:00
Pieter Hijma
ec841ed6d4 Core: Add VarSets to Groups
If a Group is selected, add the VarSet to the group.
2024-05-21 09:59:49 +02:00
bgbsww
040502280f Toponaming: Cleanup verified face calls 2024-05-20 17:48:01 -05:00
Florian Foinant-Willig
5690eb8c75 PartDesign: hide Suppressed property with FC_USE_TNP_FIX flag 2024-05-20 11:32:34 -05:00
Kacper Donat
3f2d5b83b5 Gui: Add ability to disable single-solid rule by default 2024-05-20 12:25:36 -04:00
Kacper Donat
f8c47b55cb PartDesign: Introduce ability to disable single-solid rule
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
2024-05-20 12:25:36 -04:00
Kacper Donat
935bdf9a0f PartDesign: Refactor single-solid rule enforcement
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.
2024-05-20 12:25:36 -04:00
bgbsww
b72a8c4222 Toponaming: Bring in Chamfer, Fillet code and add tests (#14035)
* 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
2024-05-15 19:43:30 -04:00
bgbsww
f304b0123c Toponaming: bring in missing code fragments in PartDesign 2024-05-13 08:45:26 -05:00
bgbsww
45c4aefaae Rework makeElementChamfer to match current parms, and add PartDesign code for Chamfers 2024-05-12 13:28:20 -05:00
wmayer
7d738f161a PD: Fix ShapeBinder::execute() if Support is empty
This fixes the reported regression: https://forum.freecad.org/viewtopic.php?t=87229
2024-05-10 15:06:22 +02:00
wmayer
35b70acb33 PD: Fix linter warnings 2024-05-10 15:06:22 +02:00
bgbsww
ad0cb61656 Toponaming/Part: unify revolution changes 2024-05-02 18:50:02 -05:00
wmayer
56f84c8042 Fix various compiler warnings:
* fix -Wunused-parameter
* fix -Wunused-function
* fix -Wunused-private-field
* fix -Wunused-variable
* fix -Winconsistent-missing-override
2024-04-30 16:59:31 +02:00
hlorus
4f5dd40fa7 [PD] Add handlers for unified measurement facility 2024-04-29 09:27:22 -04:00
wmayer
ed77603af9 PD: Fixes crash if sub-element name of reference axis is empty
This fixes #13656
2024-04-27 07:43:40 +02:00
bgbsww
fa8f29aed4 Toponaming/Part: Fix all getBaseTopoShape calls. Tests and missing code. 2024-04-26 21:15:11 -05:00
bgbsww
a4dd600ec6 Toponaming/Part: Fix hashing, hasher mismatches, and adjust test results to match 2024-04-15 23:00:27 -05:00
bgbsww
c988c4b65e Merge branch 'main' into bgbsww-toponamingFeatureDressup10399 2024-04-14 18:16:03 -04:00
bgbsww
3d1f6199c4 TopoNaming/PartDesign: Implement shapebinders 2024-04-14 17:13:14 -05:00
bgbsww
2e859100a9 Merge branch 'main' into bgbsww-toponamingFeatureDressup10399 2024-04-14 18:08:58 -04:00
Chris Hennes
f94a045598 Merge pull request #13387 from bgbsww/bgbsww-toponamingPD5FeaturePad
Toponaming/Part Transfer more python ElementMapVersion and add feature pad testing
2024-04-14 16:06:40 -05:00
wmayer
e05e17c954 PD: Fixes #13446: Crash with hole in additive loft 2024-04-14 21:24:06 +02:00
bgbsww
a88e7baff5 TopoShape/Part: Bug fixes; pass Hasher parms, OCCT 7.8 compatibility, ElementMaps correct item count 2024-04-14 13:56:07 -04:00
Zheng, Lei
6c6dce236d Bring in missing code 2024-04-11 18:20:26 -04:00
bgbsww
5f2c412cfa Toponaming/Part: Clean and add tests 2024-04-11 11:30:04 -04:00
Zheng, Lei
7bc2b3688a TopoShape/Part: Bring in FeatureDressup 2024-04-11 10:22:11 -04:00
bgbsww
bd307d7cac Toponaming/Part: Fix review items 2024-04-10 12:14:01 -04:00
bgbsww
c9d8bdf13d Toponaming/Part: Add deprecation comments, clean up code 2024-04-09 21:17:08 -04:00
Zheng, Lei
82c3e107d7 TopoShape/Part: Bring in PartDesign dependencies 2024-04-09 21:17:08 -04:00
André Althaus
79f9da420c Ignore suppressed features in patterns
This will remove all suppressed features from the Originals list
before calculating the patterns.
2024-04-01 10:58:24 -05:00
wmayer
7d10f5ed73 PD: Mirror feature should be more permissive
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
2024-03-31 17:32:27 +02:00
wmayer
ede1ccc191 PD: refactor Mirrored::getTransformations 2024-03-31 17:32:27 +02:00
Florian Foinant-Willig
c7d85ff9d9 [PartDesign] Still a helix fix (#12977)
* [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
2024-03-25 18:31:20 +01:00
Josh Coalson
a8ae56e06a Part: Rename AttachExtension::Support property to AttachmentSupport, to avoid name conflict with base features. Fixes #7052 2024-03-04 18:22:43 +01:00
Florian Foinant-Willig
677cadee5e PD: Use SuppressibleExtension 2024-02-29 18:24:27 +01:00
Florian Foinant-Willig
d7a95b4e90 PartDesign_Helix: use computed wires
use the wires of the computed face instead of the selected ones.
2024-02-26 17:41:21 +01:00
wmayer
53b512da1c MSVC: fix compiler warnings 2024-02-25 00:12:34 +01:00
Florian Foinant-Willig
74c52c9063 PD: handle null pointer in Feature::getBaseShape (#12385) 2024-02-13 17:41:25 -03:00
wmayer
df7e783513 Mod: fix several compiler warnings:
* fix -Wsometimes-uninitialized
* fix -Wunused-parameter
* fix -Wunused-variable
* fix -Winconsistent-missing-override
* fix -Wsign-compare
* fix -Wreorder-ctor
* fix -Wtautological-overlap-compare
2024-02-12 11:39:32 -06:00
Florian Foinant-Willig
1eb0444bd5 Part & PartDesign Cone: allow equal radii (#12219)
* PartDesign_Cone: allow equal radii

* fix R2 < R1

* Part_Cone: allow equal radii
2024-02-12 14:21:53 -03:00